package com.agritech.decorator;

import com.agritech.proxy.MachineProxy;

public class GPSFeatureDecorator extends MachineDecorator {
    public GPSFeatureDecorator(MachineProxy decoratedMachineProxy) {
        super(decoratedMachineProxy);
    }

    private void addGPSFunctionality() {
        System.out.println("装饰器 [GPS增强]: 为农机 [" + decoratedMachineProxy.getMachineId() + "] 激活高精度GPS定位功能。");
    }

    private void logGPSLocation() {
        System.out.println("装饰器 [GPS增强]: 农机 [" + decoratedMachineProxy.getMachineId() + "] 当前GPS位置: (模拟经度: 116.39, 纬度: 39.91)");
    }

    @Override
    public void startOperation(String userId) {
        addGPSFunctionality(); // 在启动前添加功能
        super.startOperation(userId);
        logGPSLocation(); // 启动后记录位置
    }

    @Override
    public void workOperation(String userId) {
        System.out.println("装饰器 [GPS增强]: 作业期间持续监控GPS信号...");
        super.workOperation(userId);
        logGPSLocation(); // 作业中也记录位置
    }

    @Override
    public void displayStatus(String userId) {
        super.displayStatus(userId);
        // 额外显示GPS状态
        System.out.println("装饰器 [GPS增强]: GPS模块状态: 信号良好, 定位精度: <1米");
    }
}